package com.bestcem.xm.user.entity.pojo;

import com.bestcem.xm.user.entity.mysql.BaseEntity;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

/**
 * 用户组数据表
 *
 * @author qiongyu.cui <qiongyu.cui@idiaoyan.com>
 * @version v1.0
 * @date 2021/12/29 15:44
 */
@ToString(callSuper = true)
@Getter
@Setter
@NoArgsConstructor
public class UserGroupDO extends BaseEntity {

    /**
     * 用户组id
     */
    private String groupId;

    /**
     * 用户组组名
     */
    private String groupName;
    /**
     * 用户组编码
     */
    private String groupCode;
    /**
     * 父组Id
     */
    private String groupParentId;
    /**
     * 用户组类型【0：默认、1：层级】
     */
    private Integer groupType;
    /**
     * 用户组状态【0：活动的、1：禁用的、2：隐藏、3：已删除】
     */
    private Integer groupStatus;
    /**
     * 用户组排序
     */
    private Integer groupOrder;
    /**
     * 组织ID，公司ID
     */
    private String orgId;
    /**
     * 组织层级Id
     */
    private String groupLevelId;
    /**
     * 组负责人id
     */
    private String adminId;

    /**
     * 组负责人名称
     */
    private String adminName;

    /**
     * 当前组是否存在子组【0：没有，1：有】
     */
    private Integer haveChildrenFlag;
    /**
     * 用户组版本号
     */
    private Integer versionId;

    /**
     * 层级序列号,公司内唯一
     */
    private Integer seq;

    /**
     * 父节点Id列表
     */
    private String groupParentIds;

    /**
     * 子节点顺序，seq排列
     */
    private String childrenOrder;

    public UserGroupDO(String groupId, Integer groupStatus, String orgId) {
        this.groupId = groupId;
        this.groupStatus = groupStatus;
        this.orgId = orgId;
    }

    public UserGroupDO(String groupName, Integer groupStatus) {
        this.groupName = groupName;
        this.groupStatus = groupStatus;
    }

}
